package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 商品管理对象 goods
 * 
 * @author 墨染
 * @date 2024-09-28
 */
public class Goods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @Excel(name = "商品Id")
    private Long goodsId;

    @Excel(name = "商品名称")
    private String goodsName;

    @Excel(name = "商品简介")
    private String goodsIntro;

    @Excel(name = "商品图片")
    private String goodsImage;

    @Excel(name = "商品原价")
    private String goodsPrice;

    @Excel(name = "商品折扣系数")
    private String goodsDiscount;

    @Excel(name = "商店Id")
    private Long shopId;

    @Excel(name = "销售方式")
    private String saleMode;

    @Excel(name = "关联商品Id")
    private String relateGoodsId;

    @Excel(name = "商品类型Id")
    private Long goodsTypeId;

    @Excel(name = "规格")
    private String stander;

    @Excel(name = "库存")
    private Long inventory;

    @Excel(name = "ext1")
    private Long ext1;

    @Excel(name = "销量")
    private Long saleCount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "促销开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date saleStartDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "促销结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date saleEndDate;

    @Excel(name="是否包邮(0不包邮,1包邮)")
    private Long feeShipping;

    @Excel(name = "删除标识(0未删除,1已删除)")
    private Long isDel;

    @Excel(name = "推荐标识(0不推荐,1推荐)")
    private String recommend;

    @Excel(name = "扩展字段2")
    private String ext2;

    @Excel(name = "扩展字段3")
    private String ext3;

    @Excel(name = "扩展字段4")
    private String ext4;

    @Excel(name = "扩展字段5")
    private String ext5;

    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setGoodsIntro(String goodsIntro) 
    {
        this.goodsIntro = goodsIntro;
    }

    public String getGoodsIntro() 
    {
        return goodsIntro;
    }
    public void setGoodsImage(String goodsImage) 
    {
        this.goodsImage = goodsImage;
    }

    public String getGoodsImage() 
    {
        return goodsImage;
    }
    public void setGoodsPrice(String goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public String getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setGoodsDiscount(String goodsDiscount)
    {
        this.goodsDiscount = goodsDiscount;
    }

    public String getGoodsDiscount()
    {
        return goodsDiscount;
    }
    public void setShopId(Long shopId) 
    {
        this.shopId = shopId;
    }

    public Long getShopId() 
    {
        return shopId;
    }
    public void setSaleMode(String saleMode) 
    {
        this.saleMode = saleMode;
    }

    public String getSaleMode() 
    {
        return saleMode;
    }
    public void setRelateGoodsId(String relateGoodsId)
    {
        this.relateGoodsId = relateGoodsId;
    }

    public String getRelateGoodsId()
    {
        return relateGoodsId;
    }
    public void setGoodsTypeId(Long goodsTypeId) 
    {
        this.goodsTypeId = goodsTypeId;
    }

    public Long getGoodsTypeId() 
    {
        return goodsTypeId;
    }
    public void setStander(String stander) 
    {
        this.stander = stander;
    }

    public String getStander() 
    {
        return stander;
    }
    public void setInventory(Long inventory)
    {
        this.inventory = inventory;
    }

    public Long getInventory()
    {
        return inventory;
    }
    public void setExt1(Long ext1)
    {
        this.ext1 = ext1;
    }

    public Long getExt1()
    {
        return ext1;
    }
    public void setIsDel(Long isDel) 
    {
        this.isDel = isDel;
    }

    public Long getIsDel() 
    {
        return isDel;
    }

    public Long getSaleCount() {
        return saleCount;
    }

    public void setSaleCount(Long saleCount) {
        this.saleCount = saleCount;
    }

    public Date getSaleStartDate() {
        return saleStartDate;
    }

    public void setSaleStartDate(Date saleStartDate) {
        this.saleStartDate = saleStartDate;
    }

    public Date getSaleEndDate() {
        return saleEndDate;
    }

    public void setSaleEndDate(Date saleEndDate) {
        this.saleEndDate = saleEndDate;
    }
    public void setRecommend(String recommend)
    {
        this.recommend = recommend;
    }

    public String getRecommend()
    {
        return recommend;
    }
    public void setExt2(String ext2) 
    {
        this.ext2 = ext2;
    }

    public String getExt2() 
    {
        return ext2;
    }
    public void setExt3(String ext3) 
    {
        this.ext3 = ext3;
    }

    public String getExt3() 
    {
        return ext3;
    }
    public void setExt4(String ext4) 
    {
        this.ext4 = ext4;
    }

    public String getExt4() 
    {
        return ext4;
    }
    public void setExt5(String ext5) 
    {
        this.ext5 = ext5;
    }

    public String getExt5() 
    {
        return ext5;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("goodsIntro", getGoodsIntro())
            .append("goodsImage", getGoodsImage())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsDiscount", getGoodsDiscount())
            .append("shopId", getShopId())
            .append("saleMode", getSaleMode())
            .append("relateGoodsId", getRelateGoodsId())
            .append("goodsTypeId", getGoodsTypeId())
            .append("stander", getStander())
            .append("inventory", getInventory())
            .append("ext1", getExt1())
            .append("saleCount", getSaleCount())
            .append("saleStartDate", getSaleStartDate())
            .append("saleEndDate", getSaleEndDate())
            .append("feeShipping", getFeeShipping())
            .append("isDel", getIsDel())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("recommend", getRecommend())
            .append("ext2", getExt2())
            .append("ext3", getExt3())
            .append("ext4", getExt4())
            .append("ext5", getExt5())
            .toString();
    }

    public Long getFeeShipping() {
        return feeShipping;
    }

    public void setFeeShipping(Long feeShipping) {
        this.feeShipping = feeShipping;
    }
}
